import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
        int[] array={1,2,3,4,5};
        int[]  array1=new int[]{1,2,3,4,5};//第二种定义
        int[] array2 = new int[10];//第三种未初始化默认是0
        System.out.println(array2.length);//数组名＋。length可以获取数组大小
        String ret= Arrays.toString(array);//使用方法toString这个方法将数组转成字符串，返回一个字符串
        System.out.println(ret);
        //jvm虚拟机内存划分，合理分配内存空间，栈区存放局部变量，堆区存放对象
        System.out.println(array2);//array2存放的是数组对象的起始地址，所以数组为引用类型，可通过引用变量去操作对应的对象

        int[] array3=null;//代表array3这个引用不指向任何对象
    }
    public static void main1(String[] args) {
//        func1(1234);
//        System.out.println(func2(1234));
//        System.out.println(fiber(6));
//        System.out.println(fac(5));
//       System.out.println(sum(10));
//        System.out.println(max(5, 3));
//        System.out.println(max(3.13, 2.13, 8.99));
//        System.out.println(add(5));
//      haNo(3,'A','B','C');
    }
    public static void  haNo(int num,char a,char b, char c){
        if(1 == num){
            System.out.println("第" +num +"个圆盘从"+a+"移动到"+c);
        }else{
            haNo(num-1,a,c,b);
            System.out.println("第" +num +"个圆盘从"+a+"移动到"+c);
            haNo(num-1,b,a,c);
        }

    }
    public static int add(int n){
        if(n==1){
            return 1;
        }else{
            return fac(n)+add(n-1);
        }
    }
    public static int max(int a,int b){
        return a>b?a:b;
    }public static double max(double a,double b,double c){
        double tmp= a>b?a:b;
        return tmp>c?tmp:c;
    }

    public static int sum(int n){
        if(n==1){
            return  1;
        }else{
            return n+sum(n-1);
        }
    }
    public static int fac(int n){
        if(n==1){
            return 1;
        }else{
            return n*fac(n-1);
        }
    }
    public static int fiber(int n){
        if(1 == n|| 2== n){
            return 1;
        }else{
            return fiber(n-1)+fiber(n-2);
        }
    }
    public static int func2(int n){
        if(n<10){
            return n;
        }else{
            return n%10+func2(n/10);
        }
    }
    public static void func1(int n){
        if(n<10){
            System.out.println(n);
        }else{
            func1(n/10);
            System.out.println(n%10);

        }
    }
}
